package com.huiyujinrong.qiangdanbao;

import com.huiyujinrong.qiangdanbao.activity.StartPresenter;
import com.huiyujinrong.qiangdanbao.activity.fragment.FragmentGrabSinglePresenter;
import com.huiyujinrong.qiangdanbao.activity.fragment.FragmentMyPresenter;
import com.huiyujinrong.qiangdanbao.activity.fragment.FragmentOrderPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.FeedbackPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.MessagePresenter;
import com.huiyujinrong.qiangdanbao.activity.my.OrderStatusPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.RecordPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.UserInforPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.UserNoInforPresenter;
import com.huiyujinrong.qiangdanbao.activity.login.ForgetPresenter;
import com.huiyujinrong.qiangdanbao.activity.login.LoginPresenter;
import com.huiyujinrong.qiangdanbao.activity.login.RegisterPresenter;
import com.huiyujinrong.qiangdanbao.activity.my.UserRechargePresenter;
import com.huiyujinrong.qiangdanbao.model.FeedbackModel;
import com.huiyujinrong.qiangdanbao.model.ForgetModel;
import com.huiyujinrong.qiangdanbao.model.FragmentMyModel;
import com.huiyujinrong.qiangdanbao.model.GrabSingleModel;
import com.huiyujinrong.qiangdanbao.model.MessageModel;
import com.huiyujinrong.qiangdanbao.model.OderModel;
import com.huiyujinrong.qiangdanbao.model.OrderStatusModel;
import com.huiyujinrong.qiangdanbao.model.RecordModel;
import com.huiyujinrong.qiangdanbao.model.StartModel;
import com.huiyujinrong.qiangdanbao.model.UserInforModel;
import com.huiyujinrong.qiangdanbao.model.UserNoInforModel;
import com.huiyujinrong.qiangdanbao.model.LoginModel;
import com.huiyujinrong.qiangdanbao.model.RegisterModel;
import com.huiyujinrong.qiangdanbao.model.WebModel;
import com.huiyujinrong.qiangdanbao.utils.WebPresenter;

import dagger.Component;

@Component(dependencies = AppComponent.class)
public interface ModelComponent {
    void inject(RegisterPresenter presenter);
    RegisterModel REGISTER_MODEL();

    void inject(LoginPresenter presenter);
    LoginModel LOGIN_MODEL();

    void inject(ForgetPresenter presenter);
    ForgetModel FORGET_MODEL();

    void inject(UserNoInforPresenter presenter);
    UserNoInforModel GRABSINGLE_MODEL();

    void inject(FragmentMyPresenter presenter);
    FragmentMyModel FRAGMENT_MY_MODEL();

    void inject(FragmentGrabSinglePresenter presenter);
    GrabSingleModel GRAB_SINGLE_MODEL();

    void inject(MessagePresenter presenter);
    MessageModel MESSAGE_MODEL();

    void inject(FragmentOrderPresenter presenter);
    OderModel ODER_MODEL();

    void inject(WebPresenter presenter);
    WebModel WEB_MODEL();

    void inject(RecordPresenter presenter);
    RecordModel RECORD_MODEL();

    void inject(UserInforPresenter presenter);
    UserInforModel USER_INFOR_MODEL();

    void inject(UserRechargePresenter presenter);

    void inject(StartPresenter presenter);
    StartModel START_MODEL();

    void inject(FeedbackPresenter presenter);
    FeedbackModel FEEDBACK_MODEL();

    //订单状态
    void inject(OrderStatusPresenter presenter);
    OrderStatusModel ORDER_STATUS_MODEL();
}
